<?php

/* EVIDENCE */



/* =================================
 * Generování boxu (menu)
 * ================================= */
function evidenceMenuBox() {
	global $config;
	
	
	$tmpBoxObsah = '
	<div>
		<a href="'.$config["cesta"]["url"].'evidence/prochazet.htm">Procházení evidence</a>
		<a href="'.$config["cesta"]["url"].'evidence/novyNalez.htm">Přidat předmět</a>
	</div>
	';
	
	return box('Akce',$tmpBoxObsah);
}

function predmetMenuBox($idPredmetu) {
	global $config;
	global $db;
	
	$tmpBoxObsah = '
	<div>
		<a href="'.$config["cesta"]["url"].'evidence/predmet/'.$idPredmetu.'.htm">Základní specifikace</a>
        <a href="'.$config["cesta"]["url"].'evidence/souboryPredmetu/'.$idPredmetu.'.htm">Soubory</a>
		<a href="'.$config["cesta"]["url"].'evidence/upravitNalez/'.$idPredmetu.'.htm">Upravit zákl. specifikaci</a>
	</div>
	';
	
	//slovniky
	$query = "	SELECT
						nazevSlovniku,
						idSlovniku,
						poznamka,
						tabulkaSlovniku
				FROM
						core_slovniky
				WHERE
						zobrazitPredmetu = '1'
				ORDER BY
						nazevSlovniku ASC			
			";
	$result = $db->Execute($query);
	$num = $result->RecordCount();
	
	if(!empty($num)) {
	$tmpBoxObsah .= '
	</div>
	<div class="lbox01a">
		<div><b>Slovník:</b>';
	
	foreach($result as $key => $row) {
		$tmpBoxObsah .= '<a href="'.$config["cesta"]["url"].'evidence/predmet/'.$idPredmetu.'/slovnik/'.$row["tabulkaSlovniku"].'.htm" title="'.$row["nazevSlovniku"].'">'.$row["nazevSlovniku"].'</a>';
	}
	
	$tmpBoxObsah .= '
		</div>
	';
	}
	
	return box('Předmět',$tmpBoxObsah);
}

function akcePredmetuMenuBox($idPredmetu) {
    global $config;
    
    
    $tmpBoxObsah = '
    <div>
        <a href="'.$config["cesta"]["url"].'kartaPredmetu/'.$idPredmetu.'.htm" target="_new">Tisk evidenční karty</a>
        <a href="'.$config["cesta"]["url"].'evidence/novaVypujcka/'.$idPredmetu.'.htm">Nová výpůjčka</a>
    </div>
    ';
    
    return box('Akce',$tmpBoxObsah);
}

/* =================================
 * Formular pro upravu/vytvoreni nalezu
 * ================================= */
function predmetForm() {
	global $_POST;
	global $kontrolaVyplneni;
	global $row;
	
	if(!empty($_POST)) {
		$data = $_POST;
	} else {
		$data = $row;
	}
	
	$output .= '<table id="Form">';
	$output .= tableTitle('Předmět');
	$output .= tableData("Druh nálezu",selectFormTypNalezu("idNalezu",$data["idNalezu"],$kontrolaVyplneni[1]));
	$output .= tableData("Název",'<input type="text" name="nazevPredmetu"'.kontrolaVyplneniVstup("nazevPredmetu",$kontrolaVyplneni[1]).' value="'.$data["nazevPredmetu"].'" maxlength="200" size="100">');
	$output .= tableData("Popis předmětu",'<textarea cols="62" rows="7" name="popisPredmetu"'.kontrolaVyplneniVstup("popisPredmetu",$kontrolaVyplneni[1]).'>'.$data["popisPredmetu"].'</textarea>');
	$output .= '</table>';

	/*
	$output .= '<table id="Form">';
	$output .= tableTitle('Katalogizační specifkace',4);
	$output .= table2Data("Přírustkové číslo",'<input type="hidden" name="znaceniChronolog" maxlength="150" size="20">/'.date("Y"),"Inventární číslo",'<input type="text" name="znaceniInventar" maxlength="150" size="40">');
	$output .= table2Data('Standardní lokace',selectFormSkupina("lokace","idLokaceStala","",$kontrolaVyplneni[1]),'Aktuální lokace',selectFormSkupina("lokace","idLokaceAktual","",$kontrolaVyplneni[1]));
	$output .= table2Data('Nálezce/Předchozí majitel',selectFormSkupina("subjekt","idMajitele","",$kontrolaVyplneni[1]),'Správce',selectFormSkupina("subjekt","idSpravce","",$kontrolaVyplneni[1]));
	$output .= table2Data('Způsob nabytí',selectFormSkupina("zpusobNabyti","idZpusobuNabyti","",$kontrolaVyplneni[1]),'Doklad</b><br><i>např. číslo kupní smlouvy</i><b>','<input type="text" name="nabyvaciDoklad" value="'.$data["datace"].'" maxlength="100" size="40">');
	$output .= table2Data('Katastr nálezu',selectFormSkupina("katastr","kodCastiObce","",$kontrolaVyplneni[1]),'Lokalita nálezu','[Lokalita]');
	$output .= table2Data("Datace vzniku</b><br><i>např. počátek 16. století</i><b>",'<input type="text" name="datace"'.kontrolaVyplneniVstup("datace",$kontrolaVyplneni[1]).' value="'.$data["datace"].'" maxlength="150" size="40">',"Rok nálezu",'<input type="text" name="rokNalezu" maxlength="4" size="5">');
	
	$output .= '</table>';
	*/
	
	$output .= '<table id="Form">';
	$output .= tableTitle('Katalogizace');
	
	if(!empty($row)) {
		$output .= tableData("Přírustkové číslo",'<input type="hidden" name="znaceniChronolog" maxlength="150" size="20">/'.date("Y"));
	} else {
		$output .= tableData("Přírustkové číslo",'Bude vygenerováno po vložení.');
	}
	$output .= tableData("Inventární číslo",'<input type="text" name="znaceniInventar" value="'.$data["znaceniInventar"].'" maxlength="150" size="40">');
	$output .= tableData("Rok nálezu",'<input type="text" name="rokNalezu" value="'.$data["rokNalezu"].'" maxlength="4" size="5">');
	$output .= tableData("Datace vzniku</b><br><i>např. počátek 16. století</i><b>",'<input type="text" name="datace"'.kontrolaVyplneniVstup("datace",$kontrolaVyplneni[1]).' value="'.$data["datace"].'" maxlength="150" size="40">');
	$output .= tableDataBlank();
	
	$output .= tableTitle('Nabytí');
	$output .= tableData('Nálezce/Předchozí majitel',selectFormSkupina("subjekt","idMajitele",$data["idMajitele"],$kontrolaVyplneni[1]));
	$output .= tableData('Správce',selectFormSkupina("subjekt","idSpravce",$data["idSpravce"],$kontrolaVyplneni[1]));
	$output .= tableData('Způsob nabytí',selectFormSkupina("zpusobNabyti","idZpusobuNabyti",$data["idZpusobuNabyti"],$kontrolaVyplneni[1]));
	$output .= tableData('Doklad</b><br><i>např. číslo kupní smlouvy</i><b>','<input type="text" name="nabyvaciDoklad" value="'.$data["datace"].'" maxlength="100" size="40">');
    $output .= tableData('Cena</b><br><i>odhadovaná/pojistná</i><b>','<input type="text" name="cena" value="'.$data["cena"].'" maxlength="15" size="15">');
	$output .= tableDataBlank();
	
	$output .= tableTitle('Umístění');
	$output .= tableData('Standardní lokace',selectFormSkupina("lokace","idLokaceStala",$data["idLokaceStala"],$kontrolaVyplneni[1]));
	$output .= tableData('Aktuální lokace',selectFormSkupina("lokace","idLokaceAktual",$data["idLokaceAktual"],$kontrolaVyplneni[1]));
	$output .= tableDataBlank();
		
	$output .= tableTitle('Lokalizace');
	$output .= tableData('Katastr nálezu',selectFormSkupina("katastry","kodCastiObce",$data["kodCastiObce"],$kontrolaVyplneni[1]));
	$output .= tableData("Upřesnění lokality",'<input type="text" name="lokalitaUpresneni" value="'.$data["lokalitaUpresneni"].'" maxlength="255" size="100">');
	$output .= zobrazGMapu($data["latitude"],$data["longitude"]);
	//$output .= tableData('Vyberte místo nálezu na mapě','<div id="map" style="width: 520px; height: 300px"></div>');
	//$output .= tableData('Lokalita nálezu','[Lokalita]');
	$output .= '</table>';
	

	return $output;
}



/* =================================
 * Formular pro prirazeni slova k predmetu
 * ================================= */
function slovo4PredmetForm($tabulkaSlovniku, $idPredmetu) {
	global $db;
	global $config;
	unset($output);
	
	require_once('inc/fce-slovniky.inc.php');
	
	$query = selectQuerySlovnik($tabulkaSlovniku);
    $result = $db->Execute($query);
    $num = $result->RecordCount();
	
	if(!empty($num)) {
		$output = array();
		foreach($result as $key => $row) {
			$output[] = array("value"=> $row["id"], "textNazev"=> $row["nazev"]);
		}
		$slova = selectForm ($output,"idSlova");
		
	} else {
		$slova = '<a href="'.$config["cesta"]["url"].'slovniky/slovnik/'.$tabulkaSlovniku.'.htm">Slovník je prázdný. Nejprve definujte výrazy.</a>';
	}
	
	//$output .= '<table id="Form">';
	$buffer .= tableTitle('Přidělení výrazu k předmětu');
	$buffer .= tableData("Slovo",$slova);
	$buffer .= tableData("Uživatelská hodnota",'<input type="text" name="uzivatelskaHodnota" maxlength="200" size="80">');
	
	
	return $buffer;
}

/* =================================
 * Selecty
 * ================================= */ 
function selectFormSkupina($typ,$nazevFomu,$idVybranehoPrvku = "",$akontrolaVyplneni = "") {
	global $db;
	
	require_once('inc/fce-slovniky.inc.php');
	
	$query = selectQuerySlovnik($typ);
	$result = $db->Execute($query);
	$num = $result->RecordCount();
	
	if(!empty($num)) {
		$output = array();
		foreach($result as $key => $row) {
			$output[] = array("value"=> $row["id"],"textNazev"=> $row["nazev"]);
		}
		return selectForm ($output,$nazevFomu,$idVybranehoPrvku,true,kontrolaVyplneniVstup($nazevFomu,$akontrolaVyplneni));
	} return '[prazdnySlovnik]';
} 

function selectFormVypujcky($nazevFomu,$idVybranehoPrvku = "",$akontrolaVyplneni = "") {
    global $db;
    
    $query = "
                SELECT
                        prd_vypujcky.idVypujcky,
                        adr_adresar.nazevSubjektu,
                        DATE_FORMAT(datumVypujcky,'%d. %m. %Y') as fdatumVypujcky,
                        prd_vypujcky.datumPozadovVraceni
                FROM
                        prd_vypujcky
                        Left Join adr_adresar ON adr_adresar.idSubjektu = prd_vypujcky.idSubjektu
                WHERE
                        prd_vypujcky.datumVraceni IS NULL
                ORDER BY
                        idVypujcky DESC

    ";
    $result = $db->Execute($query);
    $num = $result->RecordCount();
    
    if(!empty($num)) {
        $output = array();
        foreach($result as $key => $row) {
            $output[] = array("value"=> $row["idVypujcky"],"textNazev"=> $row["nazevSubjektu"]. ' od '.$row["fdatumVypujcky"]);
        }
        return selectForm ($output,$nazevFomu,$idVybranehoPrvku,false,kontrolaVyplneniVstup($nazevFomu,$akontrolaVyplneni));
    } return '[nejprve vytvořte výpůjčku]';
} 

function selectFormTypNalezu($nazevFomu,$idVybranehoPrvku = "",$akontrolaVyplneni = "") {
	global $db;
	$output = array();
	
	/* --------------------------------
	 * Nemovite nalezy (O)
	 */
	$query = "
				SELECT 
						idNalezu AS id,
						hesloNalezu AS nazev
				FROM
						slovnik_druhnalezu
				WHERE
						druh = 'O'
	";
	$result = $db->Execute($query);
	$num = $result->RecordCount();
	
	if(!empty($num)) {
			$output[] = array("value"=> "optiongroup","textNazev"=> "Nemovité nálezy");
		foreach($result as $key => $row) {
			$output[] = array("value"=> $row["id"],"textNazev"=> $row["nazev"]);
		}
	}
	
	/* --------------------------------
	 * Movite nalezy (P)
	 */
	$query = "
				SELECT 
						idNalezu AS id,
						hesloNalezu AS nazev
				FROM
						slovnik_druhnalezu
				WHERE
						druh = 'P'
	";
	$result = $db->Execute($query);
	$num = $result->RecordCount();
	
	if(!empty($num)) {
			$output[] = array("value"=> "optiongroup","textNazev"=> "Předměty (movité nálezy)");
		foreach($result as $key => $row) {
			$output[] = array("value"=> $row["id"],"textNazev"=> $row["nazev"]);
		}
	}
	
	return selectForm ($output,$nazevFomu,$idVybranehoPrvku,true,kontrolaVyplneniVstup($nazevFomu,$akontrolaVyplneni));
}

/*
selectFormAkvizice($nazevFormu, $idVybranehoPrvku = "") {
	$aData[] = array('');
}*/

/* =================================
 * Generovani prirustkoveho cisla
 * ---------------------------------
 * Nacte prirustkove cislo z db a zvysi ihned hodnotu o jednicku
 * ================================= */
function genEvidenCislo() {
	//nahrajeme aktualni cislo
	$evidencniCislo = loadSet("EV_NUM_PRIRUSTKOVE");
	$set = array();
	$set["hodnota"] = $evidencniCislo+1;
	
	modifyTable("core_nastaveni",$set," vlastnost = 'EV_NUM_PRIRUSTKOVE'");
	
	$output = $evidencniCislo.'/'.date("Y");
	return $output;

}

/* =================================
 * Formular pro upload souboru
 * ================================= */
function uploadForm() {
    $output = '<h2>Soubory</h2>';
    
    $output .= '
        <form method="POST" action="" enctype="multipart/form-data" >
        <table id="Form">';
    $output .= tableTitle('Nový soubor');
    $output .= '<tr>
        <td id="ClassicFormInfo"><b>Soubor</b><br><i>Maximální velikost souborů je omezena na '.ini_get('upload_max_filesize').'</i></td>
            <td'.$styl.'><input type="file" name="soubor" size="84" id="multiFile">
                <div id="files_list"></div>
                <script>
                    var multi_selector = new MultiSelector( document.getElementById( \'files_list\' ));
                    multi_selector.addElement( document.getElementById( \'multiFile\' ) );
                </script>
            </td>
        </tr>
        
        <tr id="Title">
                <td colspan="2"><input type="submit" id="BtnNext" name="novySoubor" value="Uložit"></td>
        </tr>
        ';
   $output .= '</table>';
   $output .= '</form>';
   return $output;
}

function uploadSouboruMulti($typSouboru, $idPredmetu) {
    global $_POST;
    global $_GET;
    
    
    switch ($typSouboru) {
        case 'souboryPredmetu':     $inTable = 'prd_soubory';
                                    $typAlog = 'predmet';
                                    $cestaSouboru = 'data/predmety/';
            
            break;
    }
    

    if(!empty($_FILES)) {
        foreach($_FILES as $file) {
            if($file["error"]==0 ) {
            
                
                $nazevSouboru = InterOdstranDiakritiku(basename($file["name"]),'filename');

                if(file_exists($cestaSouboru.$nazevSouboru)) {
                    $nazevSouboru = '['.time().'-'.rand(0,1000).']-'.$nazevSouboru;
                }
                
                $uploadFile = $cestaSouboru . $nazevSouboru;
                
                if(move_uploaded_file($file["tmp_name"], $uploadFile)) {
                    msgUser("ok",1,"CZ",$file["name"]);

                    $fileSet = array();
                    
                    //zmenseni obrazku
                    $mime = array("image/jpg","image/jpeg");
                    if(in_array($file["type"],$mime)) {
                        imageResizer($uploadFile,'data/predmety/small/'.$nazevSouboru,60,60);
                        $fileSet["jeNahled"]          = 1;
                    }
                    
                    //Pridame do db zaznam o priloze k nabidce
                    $fileSet["idPredmetu"]          = $idPredmetu;
                    $fileSet["filename"]            = $nazevSouboru;
                    $fileSet["origFilename"]        = $file["name"];
                    $fileSet["guid"]                = GUID();
                    $fileSet["OwnerCode"]           = $_SESSION["usrSettings"]["idUzivatele"];
                    $fileSet["CreateDate"]          = 'NOW()';
                    $FileId = ModifyTable($inTable,$fileSet);
                    aLog("evidence",$FileId,6,"",$idPredmetu);
                    
                    
                    
                    
                    //return $FileId;
                    //alog($typAlog,$FileId,12,$cestaSouboru.$nazevSouboru,$DocEntry);
                }
            
            } else { //error is 0
                if(!empty($file["tmp_name"]))
                msgUser("error",2,"CZ",array($file["name"],$file["error"]));
                
            }
        } // foreach
    } else {
        //msgUser("error",1,array($file["name"],'Empty var FILE'));
        msgUser("error",2,"CZ",array($file["name"].' Empty var FILE'));
    } // if files

}

function queryZobrazeniPredmetu($idPredmetu) {
$query = "
                SELECT
                        prd_predmety.idPredmetu,
                        prd_predmety.nazevPredmetu,
                        prd_predmety.popisPredmetu,
                        prd_predmety.datace,
                        prd_predmety.rokNalezu,
                        prd_predmety.idMajitele,
                        prd_predmety.idSpravce,
                        prd_predmety.idNalezu,
                        prd_predmety.cena,
                        slovnik_druhnalezu.hesloNalezu,
                        slovnik_skfunkce.nazevSkFunkce,
                        core_uzivatele.titulPred,
                        core_uzivatele.krestni,
                        core_uzivatele.prijmeni,
                        core_uzivatele.titulZa,
                        slovnik_oboroveznaceni.oborZnaceni,
                        slovnik_lokace_aktual.nazevLokace as nazevLokaceAktual,
                        slovnik_lokace_stala.nazevLokace as nazevLokaceStala,
                        slovnik_zpusobnabyti.nazevZpusobuNabyti,
                        adr_adresar_majitel.nazevSubjektu AS majitel,
                        adr_adresar_spravce.nazevSubjektu AS spravce,
                        prd_predmety.znaceniInventar,
                        prd_predmety.znaceniChronolog,
                        prd_predmety.nabyvaciDoklad,
                        prd_predmety.latitude,
                        prd_predmety.longitude,
                        slovnik_katastry.nazevCastiObce,
                        slovnik_katastry.nazevOkresu,
                        (SELECT `prd_soubory`.`filename` AS fotka FROM prd_soubory WHERE prd_soubory.jeNahled = '1' AND prd_soubory.idPredmetu = prd_predmety.idPredmetu LIMIT 1 ) as fotka
                FROM
                        prd_predmety
                        Left Join slovnik_skfunkce ON slovnik_skfunkce.idSkFunkce = prd_predmety.idSkFunkce
                        Left Join core_uzivatele ON core_uzivatele.idUzivatele = prd_predmety.idUzivatele
                        Left Join slovnik_oboroveznaceni ON slovnik_oboroveznaceni.kodOborZnaceni = prd_predmety.kodOborZnaceni
                        Left Join slovnik_lokace AS slovnik_lokace_aktual ON slovnik_lokace_aktual.idLokace = prd_predmety.idLokaceAktual
                        Left Join slovnik_lokace AS slovnik_lokace_stala ON slovnik_lokace_stala.idLokace = prd_predmety.idLokaceStala
                        Left Join slovnik_zpusobnabyti ON slovnik_zpusobnabyti.idZpusobuNabyti = prd_predmety.idZpusobuNabyti
                        Left Join adr_adresar AS adr_adresar_majitel ON adr_adresar_majitel.idSubjektu = prd_predmety.idMajitele
                        Left Join adr_adresar AS adr_adresar_spravce ON adr_adresar_spravce.idSubjektu = prd_predmety.idSpravce
                        Left Join slovnik_druhnalezu ON slovnik_druhnalezu.idNalezu = prd_predmety.idNalezu
                        Left Join slovnik_katastry ON slovnik_katastry.kodCastiObce = prd_predmety.kodCastiObce

                WHERE
                        idPredmetu = '".$idPredmetu."'
    ";
return $query;
}
?>